package com.nuedu.corejava.ch12;

import java.io.File;

public class FileDemo {
	public static void main(String[] args) {
		// 使用File类定位一个系统文件
		// 1.方法1-使用绝对路径定位
		String fileName = "D:\\东软学习\\java11workspace\\corejava\\src\\com\\nuedu\\corejava\\ch10\\homework";
		// 文件（文件的全地址)
		fileName = "D:\\东软学习\\java11workspace\\corejava\\src\\com\\nuedu\\corejava\\ch10\\homework\\BankDepositor.java";
		// 相对路径：相对于主类的执行地址，参考地址是main方法所在的类的地址
		// 相对路径地址要以程序所在的地址作为参考，这个地址需要排除package的名称\com\nuedu\corejava\ch12
		// D:\东软学习\java11workspace\corejava\src\com\nuedu\corejava\ch12\FileDemo.java
		// D:\java11workspace\corejava + "docs\\jdbc.sql"
		// 在eclipse中以项目工程所在的地址作为参考：D:\东软学习\java11workspace\corejava

		// 2.方法2 - 使用相对路径定位
		fileName = "docs\\jdbc.sql";
		File file = new File(fileName);
		// 通过java.io.File判断文件或目录是否存在
		if (file.exists()) {
			System.out.println("文件存在!");
			// 文件的绝对路径:返回磁盘根目录下的完整地址
			System.out.println("绝对路径：" + file.getAbsolutePath());
			System.out.println("执行：" + file.canExecute() + " ,读取内容:" + file.canRead() + " ,写入内容： " + file.canWrite());
			System.out.println("getName: " + file.getName());// 获取的文件或目录名称
			System.out.println("getParent:" + file.getParent());// 文件的相对路径的父地址
			System.out.println("getPath: " + file.getPath());// 文件的相对路径的地址

			// 3.方法3 - 把文件名和目录名分开
			String path = "D:\\东软学习\\java11workspace\\corejava\\src\\com\\nuedu\\corejava\\ch10\\homework";
			String fName = "BankDepositor.java";
			File file2 = new File(path, fName);
			if (file2.exists()) {
				System.out.println("文件存在!");
				// 文件的绝对路径:返回磁盘根目录下的完整地址
				System.out.println("绝对路径：" + file2.getAbsolutePath());
				System.out.println("getName: " + file2.getName());// 获取的文件或目录名称
				System.out.println("getParent:" + file2.getParent());// 文件的相对路径的父地址
				System.out.println("getPath: " + file2.getPath());// 文件的相对路径的地址

			}else {
				System.out.println("文件不存在");
			}

		}
		// 4.方法4 - 把文件名与目录名分开(并用File对象进行保存)，在一个目录下有多个文件需要进行操作时
				File  filePath = new File("D:\\东软学习\\java11workspace\\corejava\\src\\com\\nuedu\\corejava\\ch10\\homework");
				String fName = "BankDepositor.java";
				File file3 = new File(filePath, fName);
				if (file3.exists()) {
					System.out.println("文件存在");
					System.out.println("绝对路径：" + file3.getAbsolutePath());
					System.out.println("getName: " + file3.getName());// 获取的文件或目录名称
					System.out.println("getParent:" + file3.getParent());// 文件的相对路径的父地址
					System.out.println("getPath: " + file3.getPath());// 文件的相对路径的地址
				} else {
					System.out.println("文件不存在");
				}
	}
}
